Java Database Programming with JDBC Java Database Programming with JDBC
by Pratik Patel
Coriolis, The Coriolis Group
ISBN: 1576100561   Pub Date: 10/01/96
  

Previous Table of Contents Next


Chapter 1
JDBC: Databases The Java Way!

The Internet has spurred the invention of several new technologies in client/server computing—the most recent of which is Java. Java is two-dimensional: It’s a programming language and also a client/server system in which programs are automatically downloaded and run on the local machine (instead of the server machine). The wide embrace of Java has prompted its quick development. Java includes Java compilers, interpreters, tools, libraries, and integrated development environments (IDEs). Javasoft is leading the way in the development of libraries to extend the functionality and usability of Java as a serious platform for creating applications. One of these libraries, called Application Programming Interfaces (APIs), is the Java Database Connectivity API, or JDBC. Its primary purpose is to intimately tie connectivity to databases with the Java language.

We’ll discuss the reasoning behind the JDBC in this chapter, as well as the design of the JDBC and its associated API. The Internet, or better yet, the technologies used in the operation of the Internet, are tied into the design of the JDBC. The other dominant design basis for the JDBC is the database standard known as SQL. Hence, the JDBC is a fusion of three discrete computer areas: Java, Internet technology, and SQL. With the growing implementation of these Internet technologies in “closed” networks, called intranets, the time was right for the development of Java-based enterprise APIs. In this book, intranet and Internet are both used to describe the software technology behind the network, such as the World Wide Web.

What Is The JDBC?

As I mentioned a moment ago, JDBC stands for Java Database Connectivity. What is this JDBC besides a nifty acronym? It refers to several things, depending on context:

  It’s a specification for using data sources in Java applets and applications.
  It’s an API for using low-level JDBC drivers.
  It’s an API for creating the low-level JDBC drivers, which do the actual connecting/transacting with data sources.
  It’s based on the X/Open SQL Call Level Interface (CLI) that defines how client/server interactions are implemented for database systems.

Confused yet? It’s really quite simple: The JDBC defines every aspect of making data-aware Java applications and applets. The low-level JDBC drivers perform the database-specific translation to the high-level JDBC interface. This interface is used by the developer so he doesn’t need to worry about the database-specific syntax when connecting to and querying different databases. The JDBC is a package, much like other Java packages such as java.awt. It’s not currently a part of the standard Java Developer’s Kit (JDK) distribution, but it is slated to be included as a standard part of the general Java API as the java.sql package. Soon after its official incorporation into the JDK and Java API, it will also become a standard package in Java-enabled Web browsers, though there is no definite timeframe for this inclusion. The exciting aspect of the JDBC is that the drivers necessary for connection to their respective databases do not require any pre-installation on the clients: A JDBC driver can be downloaded along with an applet!

The JDBC project was started in January of 1996, and the specification was frozen in June of 1996. Javasoft sought the input of industry database vendors so that the JDBC would be as widely accepted as possible when it was ready for release. And, as you can see from this list of vendors who have already endorsed the JDBC, it’s sure to be widely accepted by the software industry:

  Borland International, Inc.
  Bulletproof
  Cyber SQL Corporation
  DataRamp
  Dharma Systems, Inc.
  Gupta Corporation
  IBM’s Database 2 (DB2)
  Imaginary (mSQL)
  Informix Software, Inc.
  Intersoft
  Intersolv
  Object Design, Inc.
  Open Horizon
  OpenLink Software
  Oracle Corporation
  Persistence Software
  Presence Information Design
  PRO-C, Inc.
  Recital Corporation
  RogueWave Software, Inc.
  SAS Institute, Inc. ™
  SCO
  Sybase, Inc.
  Symantec
  Thunderstone
  Visigenic Software, Inc.
  WebLogic, Inc.
  XDB Systems, Inc.

The JDBC is heavily based on the ANSI SQL-92 standard, which specifies that a JDBC driver should be SQL-92 entry-level compliant to be considered a 100 percent JDBC-compliant driver. This is not to say that a JDBC driver has to be written for an SQL-92 database; a JDBC driver can be written for a legacy database system and still function perfectly. As a matter of fact, the simple JDBC driver included with this book uses delimited text files to store table data. Even though the driver does not implement every single SQL-92 function, it is still a JDBC driver. This flexibility will be a major selling point for developers who are bound to legacy database systems but who still want to extend their client applications.


Previous Table of Contents Next